package com.aiyige.share.model;

public class ShareLogRequest {
    public static final String OBJECT_TYPE_LINK = "link";
    public static final String OBJECT_TYPE_MOMENT = "moment";
    public static final String OBJECT_TYPE_USER = "user";
    public static final String OBJECT_TYPE_APP = "app";
    public static final String DESTINATION_QQ = "qq";//qq
    public static final String DESTINATION_WEIXIN = "weixin";//微信
    public static final String DESTINATION_WEIXIN_MOMENTS = "weixin_moments";//微信朋友圈
    public static final String DESTINATION_WEIBO = "weibo";//微博
    public static final String DESTINATION_EIG_APP = "eig_app";//爱一格app

    String objectId;
    String objectType;
    String destination;
    long createTime;

    public ShareLogRequest() {
    }

    private ShareLogRequest(Builder builder) {
        setObjectId(builder.objectId);
        setObjectType(builder.objectType);
        setDestination(builder.destination);
        setCreateTime(builder.createTime);
    }

    public static Builder newBuilder() {
        return new Builder();
    }

    public String getObjectId() {
        return objectId;
    }

    public void setObjectId(String objectId) {
        this.objectId = objectId;
    }

    public String getObjectType() {
        return objectType;
    }

    public void setObjectType(String objectType) {
        this.objectType = objectType;
    }

    public String getDestination() {
        return destination;
    }

    public void setDestination(String destination) {
        this.destination = destination;
    }

    public long getCreateTime() {
        return createTime;
    }

    public void setCreateTime(long createTime) {
        this.createTime = createTime;
    }

    public static final class Builder {
        private String objectId;
        private String objectType;
        private String destination;
        private long createTime;

        private Builder() {
        }

        public Builder objectId(String val) {
            objectId = val;
            return this;
        }

        public Builder objectType(String val) {
            objectType = val;
            return this;
        }

        public Builder destination(String val) {
            destination = val;
            return this;
        }

        public Builder createTime(long val) {
            createTime = val;
            return this;
        }

        public ShareLogRequest build() {
            return new ShareLogRequest(this);
        }
    }
}
